﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        { user user = new user();
            user.User = "2333";
            user.UserName = "青椒炒肉";
            user.UserPassWord = "831143";

            user.UserWay();
        }
        static void test1()
        {
            String[,] arr = new string[9, 9];
            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    arr[i, j] = (i + 1) + "*" + (j + 1) + "=" + (i + 1) * (j + 1);
                }
            }

            for (int i = 0; i < arr.GetLength(0); i++)
            {
                for (int j = 0; j < arr.GetLength(1); j++)
                {
                    if (j <= i)
                    {

                        Console.Write(arr[i, j] + " ");

                    }

                }
                Console.WriteLine();
            }
            Console.ReadKey();

        }
        static void test2()
        {
            //            用户输入正方形边长，用* 打印出实心正方形。

            //如：用户输入5，则输出如下图形。
            //*****
            //*****
            //*****
            //*****
            //*****
            Console.WriteLine("请输入正方形的边长");
            int a = int.Parse(Console.ReadLine());
            String[,] b = new string[a, a];
            for (int i = 0; i < b.GetLength(0); i++)
            {
                for (int j = 0; j < b.GetLength(1); j++)
                {
                    Console.Write("*");
                    if (j == b.GetLength(1) - 1)
                    {
                        Console.WriteLine();
                    }
                }
            }
            Console.ReadKey();
        }
        static void test3()
        {
            //            用户输入正方形边长，用* 打印出空心正方形。

            //如：用户输入5，则输出如下图形。
            //*****
            //*   *
            //*   *
            //*   *
            //*****
            Console.WriteLine("请输入正方形边长");
            int a = int.Parse(Console.ReadLine());
            String[,] b = new string[a, a];
            for (int i = 1; i < b.GetLength(0) + 1; i++)
            {
                for (int j = 1; j < b.GetLength(1) + 1; j++)
                {
                    if (i == 1 || i == b.GetLength(0))
                    {
                        Console.Write("*");
                    }
                    else if (j == 1 || j == b.GetLength(0))
                    {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
        static void test4()
        {
            Console.WriteLine("输入菱形的边长");
            int a = int.Parse(Console.ReadLine());
            String[,] b = new String[a * 2 - 1, a * 2 - 1];
            for (int i = 0; i < b.GetLength(0); i++)
            {
                for (int j = 0; j < b.GetLength(1); j++)
                {
                    if (i < a)
                    {
                        if (j >= a - 1 - i && j <= a - 1 + i)
                        {
                            b[i, j] = "*";
                        }
                        else
                        {
                            b[i, j] = " ";
                        }
                    }
                    else
                    {
                        b[i, j] = b[a * 2 - 2 - i, j];
                    }
                }
            }
            for (int i = 0; i < b.GetLength(0); i++)
            {
                for (int j = 0; j < b.GetLength(1); j++)
                {
                    Console.Write(b[i, j]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
            //  *0
            // ***1
            //*****2
            // ***3
            //  *4

            //边长是3
            //行列数就是5

        }

        static void test5()
        {
            //            打印杨辉三角形（要求打印10行），如下所示：（使用二维数组）
            //1
            //1    1
            //1    2    1
            //1    3    3   1
            //1    4    6   4    1
            //1    5    10  10   5   1
            int[,] a = new int[10,10];
            for (int i = 0; i < a.GetLength(0); i++) {
                for (int j = 0; j < a.GetLength(1); j++) {
                    if (j == 0 ||j == i)
                    {
                        a[i, j] = 1;
                    }
                    else if (i >= 2 && j != i && j!= 0)
                    {
                        a[i, j] = a[i - 1, j - 1] + a[i - 1, j];
                    }
                    else {
                        a[i, j] = 0;
                    }
                }
            }
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    if (a[i, j] != 0) {
                        Console.Write(a[i, j]+ " ");
                    }
                }
                Console.WriteLine();
            }
            Console.ReadKey();

        }

        static void test6()
        {
            //在 Main 方法中创建一个字符串类型的数组，并存入 5 个值，然后将数组中下标是偶数的元素输出。
            String[] a = new string[5];
            for(int i = 0; i < a.GetLength(0); i++) {
                Console.WriteLine("请输入字符串");
                a[i] = Console.ReadLine();
            }
            for (int i = 0; i < a.GetLength(0); i++) {
                if (i % 2 == 0) {
                    Console.Write(a[i]+" ");
                }
            }
            Console.ReadKey();

        }

        static void test7()
        {
            //如果一个数组保存元素是有序的（从大到小），向这个数组中插入一个数，使得插入后的数组元素仍然保持有序。
            int[] a = { 5, 4, 3, 2, 1 };
            foreach (var i in a)
            {
                Console.Write(i+ " ");
            }
            Console.WriteLine();

            int[] b = new int[a.GetLength(0) + 1];
            for (int i = 0; i < b.GetLength(0); i++) {
                if (i <= b.GetLength(0) - 2) {
                    b[i] = a[i];
                }
                if (i == b.GetLength(0)-1) {
                    Console.WriteLine("插入一个数");
                    b[i] = int.Parse(Console.ReadLine());
                }
            }

            Array.Sort(b);
            Array.Reverse(b);
            Console.WriteLine("整理后");

            for(int i = 0; i < b.GetLength(0); i++) {
                Console.Write(b[i]+" ");
            }
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}